https://leetcode-cn.com/problems/happy-number/

class Solution {
public:
    int getsum(int n)
    {
        int result = 0;
        while(n)
        {
            result += (n % 10) * (n % 10);
            n /= 10;
        }
        return result;

    }
    bool isHappy(int n) {
        // 当我们遇到了要快速判断一个元素是否出现集合里的时候，就要考虑哈希法了。
        // 所以这道题目使用哈希法，来判断这个sum是否重复出现，如果重复了就是return false， 否则一直找到sum为1为止。
        unordered_set<int> temp;
        while(1)
        {
            int sum = getsum(n);
            if(sum == 1)
            {
                return true;
            }
            else if(temp.find(sum) != temp.end())
            {
                return false;
            }
            else
            {
                temp.insert(sum);
            }
            n = sum;
        }

    }
};



